﻿using System;
namespace Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister {
    
    
    public partial class Soidukiandmed2tulem : global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.ISoidukiandmed2tulem {
        
        private string @__mark;
        
        private string @__mudel;
        
        private string @__regMrk;
        
        private string @__vinkood;
        
        private System.Decimal? @__mootvms;
        
        private System.Decimal? @__regMass;
        
        private System.Decimal? @__istearv;
        
        private string @__kateg;
        
        private string @__regtun;
        
        private string @__kerenm;
        
        private System.DateTime? @__registris;
        
        private Soidukiandmed2tulem.IIsikudType @__isikud;
        
        public Soidukiandmed2tulem() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Soidukiandmed2tulem(string @mark, string @mudel, string @regMrk, string @vinkood, System.Decimal? @mootvms, System.Decimal? @regMass, System.Decimal? @istearv, string @kateg, string @regtun, string @kerenm, System.DateTime? @registris, Soidukiandmed2tulem.IIsikudType @isikud) {
            this.@__mark = @mark;
            this.@__mudel = @mudel;
            this.@__regMrk = @regMrk;
            this.@__vinkood = @vinkood;
            this.@__mootvms = @mootvms;
            this.@__regMass = @regMass;
            this.@__istearv = @istearv;
            this.@__kateg = @kateg;
            this.@__regtun = @regtun;
            this.@__kerenm = @kerenm;
            this.@__registris = @registris;
            this.@__isikud = @isikud;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Soidukiandmed2tulem(ISoidukiandmed2tulem @soidukiandmed2tulem) {
            this.@__mark = @soidukiandmed2tulem.Mark;
            this.@__mudel = @soidukiandmed2tulem.Mudel;
            this.@__regMrk = @soidukiandmed2tulem.RegMrk;
            this.@__vinkood = @soidukiandmed2tulem.Vinkood;
            this.@__mootvms = @soidukiandmed2tulem.Mootvms;
            this.@__regMass = @soidukiandmed2tulem.RegMass;
            this.@__istearv = @soidukiandmed2tulem.Istearv;
            this.@__kateg = @soidukiandmed2tulem.Kateg;
            this.@__regtun = @soidukiandmed2tulem.Regtun;
            this.@__kerenm = @soidukiandmed2tulem.Kerenm;
            this.@__registris = @soidukiandmed2tulem.Registris;
            this.@__isikud = @soidukiandmed2tulem.Isikud;
        }
        
        public virtual string Mark {
            get {
                return this.@__mark;
            }
            set {
                this.@__mark = value;
            }
        }
        
        public virtual string Mudel {
            get {
                return this.@__mudel;
            }
            set {
                this.@__mudel = value;
            }
        }
        
        public virtual string RegMrk {
            get {
                return this.@__regMrk;
            }
            set {
                this.@__regMrk = value;
            }
        }
        
        public virtual string Vinkood {
            get {
                return this.@__vinkood;
            }
            set {
                this.@__vinkood = value;
            }
        }
        
        public virtual System.Decimal? Mootvms {
            get {
                return this.@__mootvms;
            }
            set {
                this.@__mootvms = value;
            }
        }
        
        public virtual System.Decimal? RegMass {
            get {
                return this.@__regMass;
            }
            set {
                this.@__regMass = value;
            }
        }
        
        public virtual System.Decimal? Istearv {
            get {
                return this.@__istearv;
            }
            set {
                this.@__istearv = value;
            }
        }
        
        public virtual string Kateg {
            get {
                return this.@__kateg;
            }
            set {
                this.@__kateg = value;
            }
        }
        
        public virtual string Regtun {
            get {
                return this.@__regtun;
            }
            set {
                this.@__regtun = value;
            }
        }
        
        public virtual string Kerenm {
            get {
                return this.@__kerenm;
            }
            set {
                this.@__kerenm = value;
            }
        }
        
        public virtual System.DateTime? Registris {
            get {
                return this.@__registris;
            }
            set {
                this.@__registris = value;
            }
        }
        
        public virtual Soidukiandmed2tulem.IIsikudType Isikud {
            get {
                return this.@__isikud;
            }
            set {
                this.@__isikud = value;
            }
        }
        
        public partial class IsikudType : IIsikudType {
            
            private System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.ISoidukiandmed2isikTulem> @__isik = new System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.ISoidukiandmed2isikTulem>();
            
            public IsikudType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public IsikudType(System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.ISoidukiandmed2isikTulem> @isik) {
                this.@__isik = @isik;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected IsikudType(IIsikudType @isikudType) {
                this.@__isik = @isikudType.Isik;
            }
            
            public virtual System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.ISoidukiandmed2isikTulem> Isik {
                get {
                    return this.@__isik;
                }
                set {
                    this.@__isik = value;
                }
            }
        }
        
        public interface IIsikudType {
            
            System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.ISoidukiandmed2isikTulem> Isik {
                get;
                set;
            }
        }
    }
}
